-
Notifications
You must be signed in to change notification settings - Fork 610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ProtocolBench Build Rules #626
base: main
Are you sure you want to change the base?
Conversation
Hi @lukalt! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at [email protected]. Thanks! |
Hey @lukalt Thanks for the contribution. Could you please sign the CLA? |
The signed CLA will be submitted beginning of next week. Sorry for the delay |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR. I think we shouldn't introduce another version of thrift_generate and the latter has too many positional arguments already. Instead add an optional named argument to thrift_generate
.
ee52a02
to
dceca99
Compare
Hey, @praihan The CLA has been submitted now I also integrated the Protocol tests into the CMake project. There seems to be some incompatibility between gtest and glog causing |
dceca99
to
7e2fe27
Compare
7e2fe27
to
0bc1d18
Compare
Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one more minor comment, otherwise LGTM.
Thank you. I made the final change now. Builds on Windows seem to be failing but it does not look like it is caused by my changes. It looks like it is related to fmtlib |
@vitaut has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like there are some test failures:
[ RUN ] BinaryProtocolTest.writeInvalidBool
.../thrift/lib/cpp2/protocol/test/BinaryProtocolTest.cpp:63: Failure
Death test: { w.writeBool(makeInvalidBool()); auto s = std::string(); q.appendToString(s); if(s != std::string(1, '\0')) { exit(1); } }
Result: failed to die.
Error msg:
[ DEATH ]
@vitaut has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
@vitaut Formatting issues and test failures are now resolved |
Great but please update the copyright headers per my earlier comment. |
@vitaut Copyright note has been updated now |
@vitaut has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
There are still test failures:
|
You run the tests on x86, right? I was running them on arm64 and got no failures, probably because |
Yes, the failures are on x86_64. |
Test failure should be fixed. I tested it on a x86 system with gcc 13.1.0. One question regarding |
d652566
to
d12f381
Compare
This PR adds CMake build rules to build ProtocolBench. This will generate a
ProtocolBench
executable insidebin/
in fbthrift's install directory.This required a change to the ThriftLibrary, as generating sources from multiple thrift files with the same name (in different) directories was no supported. Previously, this led to multiple targets with identical name in CMake. By overloading the
thrift_generate
macro with an variant that takes a separate target name as an input, we add support for this while maintaining backwards compatibility.